iT邦幫忙

0

Windows装Claude Code一路报错?从E404、403到进主界面,我踩的坑全在这

  • 分享至 

  • xImage
  •  

Windows装Claude Code一路报错?从E404、403到进主界面,我踩的坑全在这

Claude Code这两个月热度很高,很多人第一次上手就卡在Windows上:官方一键脚本报一屏红字、npm装不上、装上了敲claude直接403。我周末花了一晚上把这条路走通,中间踩了6个坑,每个都留了截图。

先说清楚这篇能给你什么:一份按顺序排的踩坑清单,每个坑一句话讲清是什么、怎么判断、怎么绕过去,最后附上我实际用的接入配置。不是评测,也不吹性能,就是把弯路记下来让你少走。

环境:Windows 10 / PowerShell 5.1 / Node.js v24.21.0 / npm 11.19.0 / Claude Code 2.1.278。

先看结果

折腾完的样子,Claude Code主界面:

Claude Code主界面

下面按时间顺序说我是怎么走到这一步的。

坑1:官方一键脚本吐了一屏JavaScript

按文档在PowerShell里执行:

irm https://claude.ai/install.ps1 | iex

结果是这样:

irm一键安装脚本解析失败

报错里全是不支持var关键字标记&&不是有效语句分隔符——这些都是JavaScript语法。PowerShell在解析一个网页,不是脚本。 也就是说irm拿回来的不是安装脚本,是一个HTML页面。

这跟PowerShell版本无关,升级没用。直接换npm装就行,别在这纠结。

坑2:npm报E404,其实是包名粘错了

npm E404包名被粘贴拼接

第一眼以为是npm源挂了。仔细看报错URL里的包名:@anthropic-ai/claude-codenpm——末尾多了个npm。回头看命令行,两条命令粘成了一条。

经验:npm报E404先逐字读包名,九成是拼错,不是源的问题。

换国内镜像重新装:

npm config set registry https://registry.npmmirror.com
npm install -g @anthropic-ai/claude-code

切换镜像源后安装

13秒装完。会有几行npm warn install-scripts,是新版npm默认不跑第三方包的安装脚本,是warn不是error,不影响使用

坑3:装好了,但要先确认这一步

claude --version

版本确认

能出版本号,说明安装、PATH、Node都没问题。记住这个结论,后面不管报什么错,都不用再怀疑"是不是没装好"。 排查最怕同时怀疑三件事。

坑4:敲claude直接403

启动报403

Failed to connect to api.anthropic.com: Status 403
Note: Claude Code might not be available in your country.

这段话要拆开看:

  • 403是服务端明确拒绝,说明请求发出去了、也收到回应了,不是网络不通(网络不通会是超时或DNS错误,不会有HTTP状态码)
  • 主机名是api.anthropic.com,官方直连
  • 官方自己点了地区可用性

这一步很多人开始挂代理。我也挂了,下一个坑就是它。

真正可行的思路是:Claude Code本身支持把请求指向兼容Anthropic协议的端点,不是写死只能连官方的。我用的是Crazyrouter,原因后面说。

坑5:把JSON配置粘进了PowerShell

JSON粘进PowerShell报ParserError

从文档抄了一段settings.json的内容,直接糊进终端回车,报UnexpectedToken。低级错误,但值得说一句:JSON是配置文件的内容,不是命令,它该待在%USERPROFILE%\.claude\settings.json里。

Win+R输入%USERPROFILE%\.claude可以直接打开这个目录:

打开.claude目录

坑6:加了代理,ConnectionRefused

代理ConnectionRefused

ConnectionRefused的意思很具体:本机那个代理端口上没有程序在监听,是我代理软件端口填错了,跟Claude Code无关。改成对的端口之后,报错照旧。

这一轮是白折腾的。用国内可直连的端点本来就不需要代理,是我自己往链路里塞了个多余的东西。排查阶段建议先清掉:

Remove-Item Env:HTTP_PROXY, Env:HTTPS_PROXY -ErrorAction SilentlyContinue

配置写进文件,仍然403,然后通了

配置文件确认内容没问题:

settings.json内容

再启动,还是403,而且报错里的主机名仍然是api.anthropic.com

配置无误仍403

这里有个值得记的判断:报错里的主机名比状态码更有用。 403只告诉你"被拒了",主机名告诉你"请求根本没打到你以为的地方"。

之后我同时调整了端点、鉴权变量和代理设置,CLI进了首次运行流程——选主题、信任目录、主界面:

首次运行选主题

信任工作目录

说句实话:因为几项配置是一起改的,我没法从截图上断定是哪一项单独起了作用。所以下面给的是按当前Crazyrouter文档写的配置,不是我那次的历史配置。

我实际用的接入配置

%USERPROFILE%\.claude\settings.json

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.crazyrouter.com",
    "ANTHROPIC_API_KEY": "替换为你自己生成的密钥"
  }
}

两个变量,不装插件、不改代码。三个注意点:

  1. ANTHROPIC_BASE_URL填到域名根,别照搬OpenAI SDK那套带/v1的写法,路径拼接以Claude Code和服务文档为准。
  2. 密钥在Crazyrouter控制台生成,写进配置文件,不要出现在命令行或截图里。
  3. 不要同时留两个鉴权变量,否则每次启动都会弹一个"检测到自定义API Key"让你选:

检测到自定义API Key提示

为什么选Crazyrouter

我筛端点主要看三件事:

  • 国内直连。接完还得挂代理等于没解决,只是把403换成另一种不稳定。
  • 原生兼容Anthropic协议。不用装转换层,Claude Code更新时不会被适配层卡住。
  • 一个入口多个模型,按量使用,不用订阅。我同时在用Claude Code和Codex CLI,一套凭据两边都能接,不用维护两个账号。

可用模型和条款会变,发布前我又核了一遍当前模型页面,你用的时候以那个为准。变量和模型名对着接入指南核一下,需要接入就生成自己的凭据

一图总结

报错 真正原因 怎么办
不支持var关键字 irm拿到的是网页不是脚本 换npm装
E404 + claude-codenpm 命令粘连、包名多字符 重新逐条输入
npm warn install-scripts npm默认不跑安装脚本 忽略,是warn
api.anthropic.com: 403 官方端点拒绝 改用兼容端点
ParserError / UnexpectedToken JSON被当命令执行 写进settings.json
ConnectionRefused 本地代理端口没监听 清掉代理变量
配了Base URL仍连官方 配置组合没被接受 按当前文档核对两个变量

FAQ

Q:claude --version正常就说明能用了吗?
只说明CLI装好了,不说明API可用。后面要看请求目标和响应。

Q:403一定是Key错了吗?
不一定。先看报错里的主机名,再确认走的是官方登录还是第三方兼容端点。

Q:一定要开代理吗?
用国内可直连的端点不需要。排查阶段先清掉代理变量,避免ConnectionRefused这种干扰项。

Q:ConnectionRefused先查什么?
查代理端口是不是真的有程序在监听。它发生在请求到达远端之前。

Q:能直接发原始截图吗?
先遮掉Key、账号和私人路径。Key一旦暴露过就作废重生成,打码只能防后续传播。

Q:进了主界面就代表接入成功了吗?
代表初始化完成。要说"模型可用",还得跑一次有完整回答的请求。


你装Claude Code卡在哪一步了?评论区说下报错,我看到会回。

环境:Windows 10 / PowerShell 5.1 / Node.js v24.21.0 / npm 11.19.0 / Claude Code 2.1.278,2026年9月实测。工具迭代快,提示文案可能变化,以你本机输出为准。


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言